<p>
    When several packages are involved in a cycle (package A > package B > package C > package A where ">" means "depends upon"),
    that means that those packages are highly coupled and that there is no way to reuse/extract one of those packages without importing all the other packages.
    Such cycle could quickly increase the effort required to maintain an application and to embrace business change.
    SonarQube not only detects cycles between packages but also determines what is the minimum effort to break those cycles.
    This rule logs an issue on each source file having an outgoing dependency to be cut in order to break a cycle.
</p>
